79 research outputs found

    A Framework for Evaluating Quality-Driven Self-Adaptive Software Systems

    Get PDF
    International audienceOver the past decade the dynamic capabilities of self-adaptive software-intensive systems have proliferated and improved significantly. To advance the field of self-adaptive and self-managing systems further and to leverage the benefits of self-adaptation, we need to develop methods and tools to assess and possibly certify adaptation properties of self-adaptive systems, not only at design time but also, and especially, at run-time. In this paper we propose a framework for evaluating quality-driven self-adaptive software systems. Our framework is based on a survey of self-adaptive system papers and a set of adaptation properties derived from control theory properties. We also establish a mapping between these properties and software quality attributes. Thus, corresponding software quality metrics can then be used to assess adaptation properties

    DYNAMICO: A Reference Model for Governing Control Objectives and Context Relevance in Self-Adaptive Software Systems

    Get PDF
    International audienceDespite the valuable contributions on self-adaptation, most implemented approaches assume adaptation goals and monitoring infrastructures as non-mutable, thus constraining their applicability to systems whose context awareness is restricted to static monitors. Therefore, separation of concerns, dynamic monitoring, and runtime requirements variability are critical for satisfying system goals under highly changing environments. In this chapter we present DYNAMICO, a reference model for engineering adaptive software that helps guaranteeing the coherence of (i) adaptation mechanisms with respect to changes in adaptation goals; and (ii) monitoring mechanisms with respect to changes in both adaptation goals and adaptation mechanisms. DYNAMICO improves the engineering of self-adaptive systems by addressing (i) the management of adaptation properties and goals as control objectives; (ii) the separation of concerns among feedback loops required to address control objectives over time; and (iii) the management of dynamic context as an independent control function to preserve context-awareness in the adaptation mechanism

    A design for adaptive web service evolution

    Full text link
    In this paper, we define the problem of simultaneously deploying multiple versions of a web service in the face of independently developed unsupervised clients. We then propose a solution in the form of a design technique called Chain of Adapters and argue that this approach strikes a good balance between the various requirements. The Chain of Adapters technique is particularly suitable for self-managed systems since it makes many version-related reconfiguration tasks safe, and thus subject to automation

    On Designing Self-Adaptive Software Systems

    Get PDF
    Ante condiciones cambiantes del entorno, los sistemas autoadaptativos pueden modificarse a sí mismos para controlar la satisfacción de sus requerimientos en tiempo de ejecución. Durante el siglo pasado los sistemas de retroalimentación fueron importantes modelos para controlar el comportamiento dinámico de sistemas mecánicos, eléctricos, de fluidos y químicos, en sus respectivos campos de la ingeniería. Más recientemente fueron adoptados para diseñar software autoadaptativo. No obstante, lograr mapeos coherentes y explícitos consistentemente entre las arquitecturas de software adaptativo y los elementos de sistemas de retroalimentación es aún un reto abierto. Este artículo, sobre un modelo de referencia propuesto con ese propósito, discute aspectos clave del diseño de software autoadaptativo, en que los elementos de sistemas de retroalimentación se definen explícitamente como componentes de primer nivel en su arquitectura. Adicionalmente, ilustra la aplicación de este modelo de referencia a un ejemplo real de software adaptativo. El artículo ofrece a los ingenieros de software un punto de referencia para iniciar el diseño de software autoadaptativo.Self-adaptive systems modify themselves at run-time in order to control the satisfaction of their requirements under changing environmental conditions. Over the past century, feedback-loops have been used as important models for controlling dynamic behavior of mechanical, electrical, fluid and chemical systems in the corresponding fields of engineering. More recently, they also have been adopted for engineering self-adaptive software systems. However, obtaining sound and explicit mappings consistently between adaptive software architectures and feedback loop elements is still an open challenge. This paper, recalling a reference model proposed previously with that goal, discuss key aspects on the design of adaptive software where feedback loop elements are explicitly defined as first-class components in its software architecture. It complements this discussion with an illustration of the process to use this reference model by applying it to a plausible adaptive software example. This paper aims at providing a reference starting point to support software engineers in the process of designing self-adaptive software systems

    What Can Control Theory Teach Us About Assurances in Self-Adaptive Software Systems?

    Get PDF
    International audienceSelf-adaptive software (SAS) systems monitor their own behavior and autonomously make dynamic adjustments to maintain desired properties in response to changes in the systems’ operational contexts. Control theory provides verifiable feedback models to realize this kind of autonomous control for a broad class of systems for which precise quantitative or logical discrete models can be defined. Recent MAPE-K models, and variants such as the hierarchical ACRA and similar others, address a broader range of tasks, but they do not provide the inherent assurances that control theory does, as they do not explicitly identify the properties that reliable controllers should have. These properties, in general, result not from the abstract models, but from the specifics of control strategies, which precisely these models fail to analyze. We show that, even for systems too complex for direct application of classical control theory, the abstractions of control theory provide design guidance that identifies important control characteristics and raises critical design issues about the details of the strategy that determine the controllability of the resulting systems. This in turn enables careful reasoning about whether the control characteristics are in fact achieved. In this chapter we examine the control theory approach, explain several control strategies illustrated with examples from both domains, classical control theory and SAS, and show how the issues addressed by these strategies can and should be seriously considered in the design of self-adaptive software systems. From this examination we distill challenges for developing principles that may serve as the basis of a control theory for self-adaptive software systems

    Software engineering for self-adaptive systems:research challenges in the provision of assurances

    Get PDF
    The important concern for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, dependable, energy-efficient, customisable, configurable and self-optimising when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip software systems with self-managing capabilities using self-adaptation mechanisms. Despite recent advances in this area, one key aspect of self-adaptive systems that remains to be tackled in depth is the provision of assurances, i.e., the collection, analysis and synthesis of evidence that the system satisfies its stated functional and non-functional requirements during its operation in the presence of self-adaptation. The provision of assurances for self-adaptive systems is challenging since run-time changes introduce a high degree of uncertainty. This paper on research challenges complements previous roadmap papers on software engineering for self-adaptive systems covering a different set of topics, which are related to assurances, namely, perpetual assurances, composition and decomposition of assurances, and assurances obtained from control theory. This research challenges paper is one of the many results of the Dagstuhl Seminar 13511 on Software Engineering for Self-Adaptive Systems: Assurances which took place in December 2013

    C to Java Migration Experiences

    No full text
    With the growing popularity of the Java programming language for both client and server side applications in network-centric computing, there is a rising need for programming libraries that can be easily integrated into Java programs. In a previous paper, we surveyed current strategies for integrating C source code into Java programs, pointed out their weaknesses and presented goals for an improved migration approach. In this paper, we present the Ephedra approach to software migration and report on the results of three case studies transliterating C source code to Java using the Ephedra environment
    • …
    corecore